<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../js/ajax.js"></script>
</head>

<body>

</body>
<script>

    // 构造函数Promise的方法     => Array.isArray() String.fromCharCode()  Date.now()

    // resolve()   Promise.resolve()
    // 有时需要将现有对象转为 Promise 对象，Promise.resolve()方法就起到这个作用。

    // Promise.resolve()  
    // 1. 如果接收一个普通数据作为参数 则返回 成功状态的Promise实例

    // Promise.myResolve = function (arg) {
    //     var p = new Promise(function (resolve, reject) {
    //         resolve(arg);
    //     })
    //     console.log(p);
    //     return p
    // }

    // var p = Promise.resolve(1);
    // console.log(p);


    // 2. 如果接收一个Promise实例作为参数 则直接返回该Promise实例
    // function readText(url, delay = 0) {
    //     var p = new Promise(function (resolve, reject) {
    //         setTimeout(function () {
    //             $.ajax({
    //                 type: "get",
    //                 url: url,
    //                 // dataType: "text",
    //                 success: function (txt) {
    //                     resolve(txt);
    //                 }
    //             });
    //         }, delay);
    //     })
    //     return p;
    // }

    // var p1 = readText("../data/1.txt");

    // var p = Promise.resolve(p1);
    // console.log(p, p1);
    // console.log(p === p1);


    // 3. 如果接收一个thenable对象作为参数
    debugger;
    var p = Promise.resolve({
        then: function (resolve, reject) {
            debugger;
            resolve(1);
        }
    })
    console.log(p);
    p.then(v => {
        debugger;
        console.log(v);
    })



</script>

</html>